IF exists(SELECT * FROM dbo.sysobjects WHERE name='vk_groepsBerekendGemiddeldeProcent' AND xtype='P') 
BEGIN
	DROP PROCEDURE vk_groepsBerekendGemiddeldeProcent
END
GO

CREATE  PROCEDURE vk_groepsBerekendGemiddeldeProcent(
@klas varchar(5),
@periode char(2))
as
set nocount on
declare @hulptabel table(vak char(2),inschrijvingsNr char(7),code varchar(20),cijfer float)

insert into @hulptabel
select vc.vak,vc.inschrijvingsnr,vc.code,vc.cijfer 
  from vakrapportCollectieveRekenwijze as vir
  left join vakrapportindividueelBerekend as vc
	on vc.code = vir.code and
	   vc.klas = vir.groepscode and
	    vc.vak =vir.vak and
		vc.periode = vir.periode
where vir.klas = @klas and
	vir.periode = @periode and
	  vir.rekenwijze = 'groepsberekendgemiddeldeProcent' and 
      	    vc.cijfer >=0

insert into vakrapportCollectiefBerekend(klas,vak,periode,code,cijfer)
select @klas,r.vak,@periode,r.code + 'gem',	
	case when (count(cijfer) > 0) 
		then convert(varchar(10),round(sum(cijfer)/count(cijfer),0))
		else '' end
from @hulptabel as c 
    left join vakrapportCollectieveRekenwijze as r
 	on r.Code = c.code
	  and r.vak = c.vak
	   and r.periode = @periode
where r.klas = @klas and
	r.periode = @periode and
	  r.rekenwijze = 'groepsberekendgemiddeldeProcent'
group by r.vak,r.code